#include <cstdio>
#include <cmath>
#include <vector>
using namespace std;
const int MAXN = 100001;
vector< vector<int> > v;
static int N;
static double P, r;
static int mndpth = MAXN, tot;
void dfs(int index, int depth)
{
    int size = v[index].size();
    if(0 == size)
    {
        if(depth < mndpth)
        {
            mndpth = depth;
            tot = 1;
        }else if(depth == mndpth){
            tot++;
        }
    }else{
        for(int i = 0; i < size; ++i)
            dfs(v[index][i], depth + 1);
    }
}
int main()
{
    scanf("%d%lf%lf", &N, &P, &r);
    r /= 100;
    v.resize(N);
    int num, tmp;
    for(int i = 0; i < N; ++i)
    {
        scanf("%d", &num);
        if(0 != num)
        {
            for (int j = 0; j < num; ++j)
            {
                scanf("%d", &tmp);
                v[i].push_back(tmp);
            }
        }
    }
    dfs(0, 0);
    printf("%.4lf %d\n", P * pow(1 + r, mndpth), tot);
    return 0;
}